Telegram Group & Telegram Channel
Краткий гайд про хэши для новичков

Хеширование — это фундаментальная концепция в Computer Science. В основе лежит идея односторонней функции, которая принимает на вход данные произвольного размера и возвращает выход фиксированной длины. Эта функция преобразует любые данные — будь то строка, число или файл — в уникальное значение фиксированной длины, называемое хешем. Это значение представляет собой последовательность битов, которая служит своего рода «отпечатком пальца» для исходных данных:


import hashlib

hash = hashlib.sha256()
hash.update(b'hello')
hashed_string = hash.hexdigest()

print(hashed_string) # 2cf24d......8b9824


Зачем это нужно

— Проверка «девственности» передаваемых данных: при передаче данных по сети важно убедиться, что они не были изменены. Хеширование позволяет создать контрольную сумму, которая может быть использована для проверки целостности данных;

— Хранение паролей: вместо хранения оных в открытом виде их точно стоит обезопасить хешами;

— Хеширование используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений или документов.


Многие из вас сталкивались с SSH-ключами для Git-репозиториев, причем с разными алгоритмами: MD5, SHA256. В отдельном посте поговорим об алгоритмах шифрования вроде RSA.

Когда мы создаем пару ключей (приватный + публичный), например с помощью:


ssh-keygen -t rsa -b 4096


То получаем приватный ключ, что хранится на локальной машине и используется для аутентификации. Также мы получаем публичный ключ и загружаем его на GitHub. Он не использует хеши для хранения или проверки самих публичных ключей, они проверяются напрямую, при помощи криптографических протоколов. Но вот где вступает в дело хеш:

GitHub (и SSH-клиенты в целом) используют хеши не для безопасности, а для удобной идентификации.

Когда мы смотрим отпечаток ключа, например:


ssh-keygen -lf ~/.ssh/id_rsa.pub


То получаем:


2048 SHA256:2f3b7A5Nk...xyz username@host (RSA)


Это и есть отпечаток ключа (fingerprint) — хеш публичного ключа. Он используется для подтверждения подлинности ключа.

#основы
@zen_of_python



tg-me.com/zen_of_python/4273
Create:
Last Update:

Краткий гайд про хэши для новичков

Хеширование — это фундаментальная концепция в Computer Science. В основе лежит идея односторонней функции, которая принимает на вход данные произвольного размера и возвращает выход фиксированной длины. Эта функция преобразует любые данные — будь то строка, число или файл — в уникальное значение фиксированной длины, называемое хешем. Это значение представляет собой последовательность битов, которая служит своего рода «отпечатком пальца» для исходных данных:


import hashlib

hash = hashlib.sha256()
hash.update(b'hello')
hashed_string = hash.hexdigest()

print(hashed_string) # 2cf24d......8b9824


Зачем это нужно

— Проверка «девственности» передаваемых данных: при передаче данных по сети важно убедиться, что они не были изменены. Хеширование позволяет создать контрольную сумму, которая может быть использована для проверки целостности данных;

— Хранение паролей: вместо хранения оных в открытом виде их точно стоит обезопасить хешами;

— Хеширование используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений или документов.


Многие из вас сталкивались с SSH-ключами для Git-репозиториев, причем с разными алгоритмами: MD5, SHA256. В отдельном посте поговорим об алгоритмах шифрования вроде RSA.

Когда мы создаем пару ключей (приватный + публичный), например с помощью:


ssh-keygen -t rsa -b 4096


То получаем приватный ключ, что хранится на локальной машине и используется для аутентификации. Также мы получаем публичный ключ и загружаем его на GitHub. Он не использует хеши для хранения или проверки самих публичных ключей, они проверяются напрямую, при помощи криптографических протоколов. Но вот где вступает в дело хеш:

GitHub (и SSH-клиенты в целом) используют хеши не для безопасности, а для удобной идентификации.

Когда мы смотрим отпечаток ключа, например:


ssh-keygen -lf ~/.ssh/id_rsa.pub


То получаем:


2048 SHA256:2f3b7A5Nk...xyz username@host (RSA)


Это и есть отпечаток ключа (fingerprint) — хеш публичного ключа. Он используется для подтверждения подлинности ключа.

#основы
@zen_of_python

BY Zen of Python




Share with your friend now:
tg-me.com/zen_of_python/4273

View MORE
Open in Telegram


Zen of Python Telegram | DID YOU KNOW?

Date: |

The lead from Wall Street offers little clarity as the major averages opened lower on Friday and then bounced back and forth across the unchanged line, finally finishing mixed and little changed.The Dow added 33.18 points or 0.10 percent to finish at 34,798.00, while the NASDAQ eased 4.54 points or 0.03 percent to close at 15,047.70 and the S&P 500 rose 6.50 points or 0.15 percent to end at 4,455.48. For the week, the Dow rose 0.6 percent, the NASDAQ added 0.1 percent and the S&P gained 0.5 percent.The lackluster performance on Wall Street came on uncertainty about the outlook for the markets following recent volatility.

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

Zen of Python from us


Telegram Zen of Python
FROM USA